﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;
using System.Windows.Shapes;
using HM_Viewer_Silverlight.HMServiceReference1;

namespace HM_Viewer_Silverlight
{
    public partial class MainPage : UserControl
    {
       public HMServiceReference1.Service1Client cl;
        public MainPage()
        {
            InitializeComponent();

            
            Loaded += new RoutedEventHandler(MainPage_Loaded);


           
        }

        /// <summary>
        /// On ajoute du traitement lors du chargement de la page
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            //initialising the client
            cl = new HMServiceReference1.Service1Client();

            //on définit les sources de données


        }

        // Une fois que le frame navigue, assurez-vous que le contrôle HyperlinkButton représentant la page active est sélectionné
        private void ContentFrame_Navigated(object sender, NavigationEventArgs e)
        {
            foreach (UIElement child in LinksStackPanel.Children)
            {
                HyperlinkButton hb = child as HyperlinkButton;
                if (hb != null && hb.NavigateUri != null)
                {
                    if (hb.NavigateUri.ToString().Equals(e.Uri.ToString()))
                    {
                        VisualStateManager.GoToState(hb, "ActiveLink", true);
                    }
                    else
                    {
                        VisualStateManager.GoToState(hb, "InactiveLink", true);
                    }
                }
            }
        }

        // Si une erreur se produit au cours de la navigation, afficher une fenêtre d'erreurs
        private void ContentFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
        {
            e.Handled = true;
            ChildWindow errorWin = new ErrorWindow(e.Uri);
            errorWin.Show();
        }
    }
}